package day01.日期类.Acm;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/**
 * @author feng
 * @Date 2022/1/3 21:03
 * 输入某年某月某日，判断这一天是这一年的第几天？
 */
public class Test6 {
    public static void main(String[] args) throws ParseException {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年月日:");
        int year = sc.nextInt();
        int month = sc.nextInt();
        int day = sc.nextInt();

        int towMonth = 28;
        //判断是否为闰年
        if (year % 4 == 0 | (year % 4 == 0 && year % 100 != 0)) {
            towMonth = 29;
        }
        int[] months = {31, towMonth, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        //判断不能超过当月月份的天数
        if (month > 12 || day > months[month - 1]) {
            //判断月份不能大于12，日不能大于当前月份最大的天数，否则不合法
            System.out.println("日期不合法，请重新输入！");
        } else {
            {
                if (month == 1) {
                    //如果月份等于1，那么直接输出是第day天
                    System.out.println("天数为" + year + "年的第" + day + "天");
                } else {
                    //非1月情况下，调用数组从1月加到月份-1月，最后在将总和与day相加就是总天数
                    for (int i = 0; i < month - 1; i++) {
                        day += months[i];
                    }
                    day += day;
                    System.out.println("天数为" + year + "年的第" + day + "天");
                }

            }

        }
    }
}









